// #include "LocalStorage.h"
// #include "mqtt.h"
// #include <PubSubClient.h>
// #include "config.h"
// #include <WiFi.h>
// #include "global.h"

// //const char *mqtt_server = "47.115.200.180";
 
// const int mqtt_port = 1883;
// String mqtt_username;
// String mqtt_password;
// String mqtt_client_id;
// unsigned long last_send = 0;
// WiFiClient espClient;
// PubSubClient client(espClient);

// bool isRetry=false;

// void mqttRetry(String s){
//     long i = s.toInt();
//     if(i%30==0){
//       isRetry = true;
//     }
// }

// void setupMQTT()
// {

//   // String account = Read_UserAccount();
//   mqtt_username = "emqx1";
//   // String strId = readDeviceId();

//   mqtt_password = "emqx1";
//   // String account = "923450980@qq.com";
//   // mqtt_username = account;
//    String strId = getEspId();

   
//    mqtt_client_id = strId.c_str();
//   // account.concat("$smartlink2024");
//   // mqtt_password = encryptBase64(account);
//   // Serial.println("mqtt_password->");

//   Serial.println(mqtt_password);
//  // client.setServer(getServerIp().c_str(), mqtt_port);
// client.setServer("47.115.200.180" , mqtt_port);

//   client.setSocketTimeout(10);


//    addGlobalTimerCallBack("mqtt",mqttRetry);

//    reconnect();

   

// }

// void loopMQTT()
// {
//   if (!client.connected()&&isRetry)
//   { // MQTT 是否连接成功
//     reconnect();
//     isRetry = false;
//   }
//   if (millis() - last_send > 15000)
//   {

//     last_send = millis();
//   }
//   client.loop();

  
// }

// void setMqttCallback(std::function<void(char*, unsigned char*, unsigned int)> cb ){
//   client.setCallback(cb);
// }

// void subscribe(const char* topic){
//   client.subscribe(topic);
// }



// void reconnect()
// {
//   // Loop until we're reconnected
//   if (!client.connected())
//   {
//     Serial.print("Attempting MQTT connection...");
//     Serial.println("mqtt_username" + String(mqtt_username));
//     Serial.println("userPassword" + String(mqtt_password));

//     Serial.println(mqtt_client_id);

//     if (client.connect(mqtt_client_id.c_str(), mqtt_username.c_str(), mqtt_password.c_str()))
//     {
//       Serial.println("---MQTT connected---");
//     }
//     else
//     {
//       Serial.print("failed, rc=");
//       Serial.print(client.state());
      
//       Serial.println(" try again in 5 seconds");

//     }
//   }
// }

// void publish(const char *topic, const char *charData)
// {
//   bool  result =  client.publish(topic, charData);
//   if(result){
//     Serial.println("mqtt 发送成功");
//   }else{
//     Serial.println("mqtt 发送失败");
//   }
// }